home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 34.zip / BS1 part 34 / utildisk 6 omitech.adf / DOCS / 199bobs.S < prev    next >
Text File  |  1990-03-10  |  13KB  |  510 lines

  1. ****************  Bob-Competition  **********************
  2. *                            *
  3. *               199 Bobs !            *
  4. *  technical infos:                    *
  5. *    - 320 x 200 screen                *
  6. *    - bobs are moved on the whole(!) screen        *
  7. *    - bobsize: 15 x 15 x 2 planes            *
  8. *    - bobs are masked out (MINTERM: $xfca)        *
  9. *    - real-time calculation of positions        *
  10. *      (no precalculated positionlist !)        *
  11. *    - calculation done by blitter (no joke !)    *
  12. *    - waves can be changed with the right mbutton    *
  13. *                            *
  14. *  PS:                            *
  15. *   do not try to code in the style of this bobdemo,    *
  16. *    it is just so bad because i fought for every    *
  17. *     piece of raster-time...                *
  18. *      the small green line displays the        *
  19. *    remaining raster-time (not that much !)        *
  20. *                            *
  21. *                (c) '90 by MIC/L4    *
  22. *********************************************************
  23. balls = 199
  24.  
  25. balldaten = $70000+[64*2*200]
  26. ballmasken = balldaten+[balls*15*4]
  27.  
  28. anz_tabs = 17
  29.  
  30. ytable = $60000+[64*2*200]
  31. xtable = ytable+[200*2*anz_tabs]
  32. shifttable = xtable+[320*2*anz_tabs]
  33.  
  34. bl = 215
  35. pl = 400-bl
  36. ;------ macros -----
  37. wblit:    macro
  38. wblit?0:
  39.     btst    #14,$2(a5)
  40.     bne.s    wblit?0
  41. endm
  42.  
  43.     jmp    start
  44.  
  45.     org    $40000
  46.     load    $40000
  47. d:
  48. start:
  49.     move.l    4.w,a6
  50.     lea    grafname(pc),a1
  51.     jsr    -408(a6)
  52.     move.l    d0,a1
  53.     move.l    38(a1),oldcopper
  54.     jsr    -414(a6)
  55.  
  56.     move.w    $dff002,olddma
  57.     or.w    #$8000,olddma
  58.     move.w    $dff01c,oldint
  59.     or.w    #$8000,oldint
  60.  
  61.     move.w    #$7fff,$dff09a
  62.     move.w    #$7fff,$dff096
  63.  
  64.     bsr.l    prog_begin
  65.  
  66.     move.l    oldcopper(pc),$dff080
  67.  
  68.     move.w    #$7fff,$dff09a
  69.     move.w    #$7fff,$dff096
  70.  
  71.     move.l    oldcopper(pc),$dff080
  72.     clr.w    $dff088
  73.  
  74.     move.w    olddma(pc),$dff096
  75.     move.w    oldint(pc),$dff09a
  76.  
  77.     rts
  78.  
  79. prog_begin:
  80.     lea    $60000,a0
  81.     lea    $80000,a1
  82.     moveq    #0,d0
  83. clr_all:
  84.     move.l    d0,(a0)+
  85.     cmp.l    a1,a0
  86.     blt.s    clr_all
  87.  
  88.     bsr.l    init_balls
  89.     bsr.l    init_clear
  90.     bsr.l    init_curve
  91.     bsr.l    init_customregs
  92.  
  93.     lea    make_back1(pc),a3
  94.     bra.l    make_offsets
  95. make_back1:
  96.  
  97.     move.l    #clist,$dff080
  98.     clr.w    $dff088
  99.     move.w    #$87c0,$dff096
  100.  
  101.     move.l    a7,stack
  102. sync:
  103.     cmp.b    #238,$dff006
  104.     bne.s    sync
  105.     lea    $dff000,a5
  106.     lea    d(pc),a4
  107.     wblit
  108. mouse:
  109.     cmp.b    #238,$6(a5)
  110.     blt.s    mouse
  111.  
  112. move.w    #0,$180(a5)
  113.  
  114.     move.l    physbase(pc),a3
  115.  
  116.     move.w    #$0100,$40(a5)
  117.     move.w    #24,$66(a5)
  118.     move.l    a3,$54(a5)
  119.     move.w    #bl*64+20,$58(a5)    ;mit blitter loeschen
  120.  
  121.     lea    bl*64(a3),a3
  122.  
  123.     moveq    #0,d0
  124.     move.l    d0,d1
  125.     move.l    d0,d2
  126.     move.l    d0,d3
  127.     move.l    d0,d4
  128.     move.l    d0,d5
  129.     move.l    d0,d6
  130.     move.l    d0,a0
  131.     move.l    d0,a1
  132.     move.l    d0,a2
  133.     movem.l    d0-d6/a0-a2,(a3)
  134. clear_proz:
  135.     movem.l    d0-d6/a0-a2,64(a3)
  136. clear_proz_list:
  137.     blk.w    [pl-2]*3,0
  138.  
  139.     move.w    logbase(pc),d1
  140.     move.w    physbase(pc),logbase-d(a4) ;lo-wort immer gleich
  141.     move.w    d1,physbase-d(a4)
  142.     move.w    d1,$e0(a5)        ;set hi-pointers
  143.     move.w    d1,$e4(a5)
  144.  
  145.     movem.l    curve_xpt(pc),a0-a2
  146. add_x:
  147.     lea    2(a0),a0        ;add.w xspeed,a0
  148. add_shift:
  149.     lea    2(a1),a1        ;add.w shiftspeed,a1
  150.     cmp.l    #xtable+[320*2],a0
  151.     blt.s    curves_ok
  152.     lea    -[320*2](a0),a0        ;x-overflow -> shift-overflow
  153.     lea    -[640*2](a1),a1
  154. curves_ok:
  155. add_y:
  156.     lea    2(a2),a2        ;add.w yspeed,a2
  157.     cmp.l    #ytable+[200*2],a2
  158.     blt.s    curves2_ok
  159.     lea    -[200*2](a2),a2
  160. curves2_ok:
  161.     movem.l    a0-a2,curve_xpt-d(a4)
  162.  
  163.     lea    $40(a5),a0        ;hit it !!
  164.     move.l    #$0dfc0000,(a0)+    ;bltcon, a+b verodern
  165.     moveq    #-1,d0            ;=$ffffffff
  166.     move.l    d0,(a0)+        ;bltafwm
  167.     move.l    curve_xmod(pc),$62(a5)    ;bmod+amod (xmod,ymod)
  168.     move.w    #12,$66(a5)
  169.     addq.w    #4,a0            ;$48+4 = $4c
  170.     move.l    curve_xpt(pc),(a0)+    ;bpt
  171.     move.l    curve_ypt(pc),(a0)+    ;apt
  172.     move.l    #blit_bobs_rout+6,(a0)+    ;dpt
  173.     move.w    #balls*64+1,(a0)    ;blitsize
  174. blit_bobs:
  175.     move.w    #$0000,$46(a5)        ;bltalwm
  176.     move.l    #[60*$10000]+$10000-2,$60(a5)    ;cmod+bmod
  177.     move.l    #[-2*$10000]+60,$64(a5)    ;amod+dmod
  178.  
  179.     move.l    #ballmasken,$50(a5)    ;apt
  180.     move.l    #balldaten,$4c(a5)    ;bpt
  181.  
  182.     lea    $40(a5),a0        ;bltcon0+1
  183.     lea    $48(a5),a2        ;cpt-lo
  184.     lea    $54(a5),a3        ;dpt-lo und blitsize        
  185.  
  186.     move.w    logbase(pc),(a2)+    ;logbase -> cpt-hi
  187.     move.w    logbase(pc),(a3)+    ;logbase -> dpt-hi
  188.  
  189.     move.w    #15*2*64+2,d1        ;blitsize
  190.     move.l    curve_shiftpt(pc),a1
  191. blit_bobs_rout:
  192.     move.l    2(a1),(a0)        ;offsets werden geaendert
  193.     move.w    #0,d0            ;ziel
  194.     move.w    d0,(a2)            ;cpt-lo
  195.     movem.w    d0/d1,(a3)        ;dpt-lo und blitsize
  196. blit_bobs_list:
  197.     blk.b    blit_bobs_list-blit_bobs_rout*[balls-1],0
  198. blit_bobs_end:
  199.     btst    #10,$16(a5)
  200.     bne.s    no_rightbutton
  201.  
  202.     tst.b    right_down-d(a4)
  203.     bne.s    no_rightbutton2        ;falls bereits gedrueckt !
  204.  
  205.     lea    make_back2(pc),a3
  206.     bra.l    make_offsets
  207. make_back2:
  208.     st    right_down
  209.     bra.l    sync            ;neu syncronisieren    
  210. no_rightbutton:
  211.     sf    right_down-d(a4)
  212. no_rightbutton2:
  213.  
  214. move.w    #$0f0,$180(a5)
  215.  
  216.     btst    #6,$bfe001
  217.     bne.L    mouse
  218.  
  219.     move.l    stack(pc),a7
  220.     rts
  221.  
  222. stack: dc.l 0
  223. right_down: dc.b 0
  224.     even
  225.  
  226. st = shifttable
  227. xt = xtable
  228. yt = ytable
  229.  
  230. curve_pt: dc.l c1
  231. curve_tab:    ;st,xt,yt,xmod,ymod,xspeed,yspeed,next_one
  232. c1:     dc.w 4,8,2,2
  233.     dc.l c2
  234. c2:     dc.w 2,2,4,6
  235.     dc.l c3
  236. c3:     dc.w 4,2,4,6
  237.     dc.l c4
  238. c4:     dc.w 12,0,2,2
  239.     dc.l c5
  240. c5:     dc.w 18,28,2,2
  241.     dc.l c6
  242. c6:     dc.w 8,10,4,2
  243.     dc.l c7
  244. c7:     dc.w 10,8,2,2
  245.     dc.l c1
  246.  
  247. curve_xmod: dc.w 4
  248. curve_ymod: dc.w 8
  249. xspeed: dc.w 4
  250. yspeed: dc.w 2
  251. curve_xpt: dc.l xtable
  252. curve_shiftpt: dc.l shifttable
  253. curve_ypt: dc.l ytable
  254. shiftspeed: dc.w 8
  255.  
  256. make_offsets:
  257.     move.l    curve_pt(pc),a0
  258.     movem.l    (a0)+,d0-d2
  259.     lea    xtable,a0
  260.     lea    shifttable,a1
  261.     lea    ytable,a2
  262.     movem.l    d0-d1/a0-a2,curve_xmod
  263.     move.l    d2,curve_pt
  264.  
  265.     move.w    xspeed(pc),d0
  266.     add.w    d0,d0
  267.     move.w    d0,shiftspeed
  268.  
  269.     move.w    xspeed(pc),add_x+2
  270.     move.w    shiftspeed(pc),add_shift+2
  271.     move.w    yspeed(pc),add_y+2
  272.  
  273.     lea    blit_bobs_rout+2(pc),a0
  274.     move.w    #balls-1,d0
  275.     moveq    #0,d1
  276.     move.w    curve_xmod(pc),d2
  277.     add.w    d2,d2            ;*2
  278.     addq.w    #4,d2            ;+4 wegen blittermodulo
  279.     move.w    #320*4,d3
  280.     moveq    #14,d4
  281. make_offl:
  282.     move.w    d1,(a0)
  283.     add.w    d2,d1
  284.     add.l    d4,a0            ;+14
  285.     dbra    d0,make_offl
  286.  
  287.     jmp    (a3)            ;zurueck
  288.  
  289. init_clear:
  290.     lea    clear_proz,a0
  291.     lea    clear_proz_list,a1
  292.     lea    clear_proz+[[pl-1]*6],a2    ;ende
  293. init_clr_l:
  294.     move.w    (a0)+,(a1)+
  295.     cmp.l    a2,a1
  296.     blt.s    init_clr_l
  297.  
  298.     lea    clear_proz+4,a0
  299.     move.w    #pl-2,d0
  300.     moveq    #64,d1
  301. init_clr_offs:
  302.     move.w    d1,(a0)
  303.     add.w    #64,d1
  304.     addq.w    #6,a0
  305.     dbra    d0,init_clr_offs
  306.  
  307.     rts
  308.  
  309. init_curve:
  310.     lea    ytable,a0
  311.     moveq    #anz_tabs-1,d0
  312. init_cu1:
  313.     lea    y_tab,a1
  314.     move.w    #200-1,d1
  315. init_cu2:
  316.     move.w    (a1)+,d2
  317.     lsl.w    #7,d2            ;*128
  318.     move.w    d2,(a0)+
  319.     dbra    d1,init_cu2
  320.     dbra    d0,init_cu1
  321.  
  322.     lea    xtable,a0
  323.     moveq    #anz_tabs-1,d0
  324. init_cu3:
  325.     lea    x_tab,a1
  326.     move.w    #320-1,d1
  327. init_cu4:
  328.     move.w    (a1)+,(a0)+
  329.     dbra    d1,init_cu4
  330.     dbra    d0,init_cu3
  331.  
  332.     lea    shifttable,a0
  333.     moveq    #anz_tabs-1,d0
  334. init_cu5:
  335.     lea    shift_tab,a1
  336.     move.w    #320-1,d1
  337. init_cu6:
  338.     move.w    (a1)+,d2
  339.     move.w    d2,(a0)+        ;bltcon 0
  340.     and.w    #$f000,d2        ;fuer bltcon 1
  341.     move.w    d2,(a0)+
  342.     dbra    d1,init_cu6
  343.     dbra    d0,init_cu5
  344.  
  345.     rts
  346.  
  347. init_balls:
  348.     lea    balldaten,a2
  349.     lea    ballmasken,a3
  350.     move.w    #balls-1,d0
  351. init_balls_l:
  352.     lea    ball_dat,a0
  353.     lea    ball_mask,a1
  354.     moveq    #15-1,d1
  355. init_balls_l2:    
  356.     move.l    (a0)+,(a2)+        ;daten
  357.     move.l    (a1)+,(a3)+        ;masken
  358.     dbra    d1,init_balls_l2
  359.     dbra    d0,init_balls_l
  360.  
  361.     lea    blit_bobs_rout(pc),a0
  362.     lea    blit_bobs_list(pc),a1
  363.     lea    blit_bobs_end,a2
  364. copy_blit_rout:
  365.     move.w    (a0)+,(a1)+
  366.  
  367.     cmp.l    a2,a1
  368.     blt.s    copy_blit_rout
  369.     rts
  370.  
  371. grafname: dc.b "graphics.library",0
  372.     even
  373. oldcopper: dc.l 0
  374. olddma:    dc.w 0
  375. oldint: dc.w 0
  376.  
  377. logbase: dc.l $60000
  378. physbase: dc.l $70000
  379.  
  380. init_customregs:
  381.     lea    $dff000,a0
  382.     move.w    #$2981,$8e(a0)
  383.     move.w    #$f1c1,$90(a0)        ;screenhoehe,breite
  384.     move.w    #$0038,$92(a0)        ;ddf-start
  385.     move.w    #$00d0,$94(a0)        ;ddf-stop
  386.     move.w    #128-40,$108(a0)
  387.     move.w    #128-40,$10a(a0)    ;screen-modulos
  388.     move.w    #0,$104(a0)        ;prioritaet
  389.     move.w    #0,$102(a0)
  390.     move.w    #0,$144(a0)
  391.     move.w    #0,$146(a0)        ;sprites aus
  392.     move.w    #$ffff,$2e(a0)        ;blits durch copper !
  393.     move.w    #$000,$180(a0)
  394.     move.w    #$0fe,$182(a0)
  395.     move.w    #$05c,$184(a0)
  396.     move.w    #$017,$186(a0)
  397.     move.w    #$2200,$100(a0)
  398.  
  399.     rts
  400.  
  401. clist:
  402. c_scpt:
  403.     dc.l $00e20000
  404.     dc.l $00e60040    ;planes
  405.  
  406.     dc.l $fffffffe
  407.  
  408. shift_tab:
  409.     DC.L    $9FCABFCA,$EFCA1FCA,$4FCA7FCA,$AFCADFCA,$0FCA3FCA
  410.     DC.L    $6FCA9FCA,$CFCAFFCA,$2FCA5FCA,$7FCAAFCA,$DFCA0FCA
  411.     DC.L    $3FCA5FCA,$8FCABFCA,$EFCA0FCA,$3FCA5FCA,$8FCAAFCA
  412.     DC.L    $DFCAFFCA,$2FCA4FCA,$7FCA9FCA,$BFCADFCA,$0FCA2FCA
  413.     DC.L    $4FCA6FCA,$8FCAAFCA,$CFCAEFCA,$0FCA2FCA,$3FCA5FCA
  414.     DC.L    $7FCA9FCA,$AFCACFCA,$DFCAFFCA,$0FCA1FCA,$3FCA4FCA
  415.     DC.L    $5FCA6FCA,$7FCA8FCA,$9FCAAFCA,$BFCACFCA,$CFCADFCA
  416.     DC.L    $EFCAEFCA,$FFCAFFCA,$FFCA0FCA,$0FCA0FCA,$0FCA0FCA
  417.     DC.L    $1FCA0FCA,$0FCA0FCA,$0FCA0FCA,$FFCAFFCA,$FFCAEFCA
  418.     DC.L    $EFCADFCA,$CFCACFCA,$BFCAAFCA,$9FCA8FCA,$7FCA6FCA
  419.     DC.L    $5FCA4FCA,$3FCA1FCA,$0FCAFFCA,$DFCACFCA,$AFCA9FCA
  420.     DC.L    $7FCA5FCA,$3FCA2FCA,$0FCAEFCA,$CFCAAFCA,$8FCA6FCA
  421.     DC.L    $4FCA2FCA,$0FCADFCA,$BFCA9FCA,$7FCA4FCA,$2FCAFFCA
  422.     DC.L    $DFCAAFCA,$8FCA5FCA,$3FCA0FCA,$EFCABFCA,$8FCA5FCA
  423.     DC.L    $3FCA0FCA,$DFCAAFCA,$7FCA5FCA,$2FCAFFCA,$CFCA9FCA
  424.     DC.L    $6FCA3FCA,$0FCADFCA,$AFCA7FCA,$4FCA1FCA,$EFCABFCA
  425.     DC.L    $9FCA6FCA,$3FCA0FCA,$DFCAAFCA,$7FCA4FCA,$1FCAEFCA
  426.     DC.L    $BFCA8FCA,$5FCA2FCA,$FFCACFCA,$AFCA7FCA,$4FCA1FCA
  427.     DC.L    $EFCACFCA,$9FCA6FCA,$3FCA1FCA,$EFCACFCA,$9FCA7FCA
  428.     DC.L    $4FCA2FCA,$FFCADFCA,$AFCA8FCA,$6FCA4FCA,$1FCAFFCA
  429.     DC.L    $DFCABFCA,$9FCA7FCA,$5FCA3FCA,$1FCAFFCA,$EFCACFCA
  430.     DC.L    $AFCA8FCA,$7FCA5FCA,$4FCA2FCA,$1FCA0FCA,$EFCADFCA
  431.     DC.L    $CFCABFCA,$AFCA9FCA,$8FCA7FCA,$6FCA5FCA,$5FCA4FCA
  432.     DC.L    $3FCA3FCA,$2FCA2FCA,$2FCA1FCA,$1FCA1FCA,$1FCA1FCA
  433.     DC.L    $0FCA1FCA,$1FCA1FCA,$1FCA1FCA,$2FCA2FCA,$2FCA3FCA
  434.     DC.L    $3FCA4FCA,$5FCA5FCA,$6FCA7FCA,$8FCA9FCA,$AFCABFCA
  435.     DC.L    $CFCADFCA,$EFCA0FCA,$1FCA2FCA,$4FCA5FCA,$7FCA8FCA
  436.     DC.L    $AFCACFCA,$EFCAFFCA,$1FCA3FCA,$5FCA7FCA,$9FCABFCA
  437.     DC.L    $DFCAFFCA,$1FCA4FCA,$6FCA8FCA,$AFCADFCA,$FFCA2FCA
  438.     DC.L    $4FCA7FCA,$9FCACFCA,$EFCA1FCA,$3FCA6FCA,$9FCACFCA
  439.     DC.L    $EFCA1FCA,$4FCA7FCA,$AFCACFCA,$FFCA2FCA,$5FCA8FCA
  440.     DC.L    $BFCAEFCA,$1FCA4FCA,$7FCAAFCA,$DFCA0FCA,$3FCA6FCA
  441.  
  442. y_tab:
  443.     DC.L    $00B900B8,$00B800B8,$00B800B7,$00B700B6,$00B600B5
  444.     DC.L    $00B400B3,$00B200B1,$00B000AE,$00AD00AC,$00AA00A9
  445.     DC.L    $00A700A5,$00A300A2,$00A0009E,$009B0099,$00970095
  446.     DC.L    $00930090,$008E008B,$00890086,$00840081,$007E007C
  447.     DC.L    $00790076,$00730071,$006E006B,$00680065,$0062005F
  448.     DC.L    $005D005A,$00570054,$0051004E,$004B0048,$00460043
  449.     DC.L    $0040003D,$003B0038,$00350033,$0030002E,$002B0029
  450.     DC.L    $00260024,$00220020,$001E001B,$00190017,$00160014
  451.     DC.L    $00120010,$000F000D,$000C000B,$00090008,$00070006
  452.     DC.L    $00050004,$00030003,$00020002,$00010001,$00010001
  453.     DC.L    $00000001,$00010001,$00010002,$00020003,$00030004
  454.     DC.L    $00050006,$00070008,$0009000B,$000C000D,$000F0010
  455.     DC.L    $00120014,$00160017,$0019001B,$001E0020,$00220024
  456.     DC.L    $00260029,$002B002E,$00300033,$00350038,$003B003D
  457.     DC.L    $00400043,$00460048,$004B004E,$00510054,$0057005A
  458.     DC.L    $005C005F,$00620065,$0068006B,$006E0071,$00730076
  459.     DC.L    $0079007C,$007E0081,$00840086,$0089008B,$008E0090
  460.     DC.L    $00930095,$00970099,$009B009E,$00A000A2,$00A300A5
  461.     DC.L    $00A700A9,$00AA00AC,$00AD00AE,$00B000B1,$00B200B3
  462.     DC.L    $00B400B5,$00B600B6,$00B700B7,$00B800B8,$00B800B8
  463.  
  464. x_tab:
  465.     DC.L    $00120012,$00120014,$00140014,$00140014,$00160016
  466.     DC.L    $00160016,$00160016,$00180018,$00180018,$0018001A
  467.     DC.L    $001A001A,$001A001A,$001A001C,$001C001C,$001C001C
  468.     DC.L    $001C001C,$001E001E,$001E001E,$001E001E,$00200020
  469.     DC.L    $00200020,$00200020,$00200020,$00220022,$00220022
  470.     DC.L    $00220022,$00220022,$00220022,$00240024,$00240024
  471.     DC.L    $00240024,$00240024,$00240024,$00240024,$00240024
  472.     DC.L    $00240024,$00240024,$00240026,$00260026,$00260026
  473.     DC.L    $00260026,$00260026,$00260026,$00240024,$00240024
  474.     DC.L    $00240024,$00240024,$00240024,$00240024,$00240024
  475.     DC.L    $00240024,$00240024,$00240022,$00220022,$00220022
  476.     DC.L    $00220022,$00220022,$00220020,$00200020,$00200020
  477.     DC.L    $00200020,$0020001E,$001E001E,$001E001E,$001E001C
  478.     DC.L    $001C001C,$001C001C,$001C001C,$001A001A,$001A001A
  479.     DC.L    $001A001A,$00180018,$00180018,$00180016,$00160016
  480.     DC.L    $00160016,$00160014,$00140014,$00140014,$00120012
  481.     DC.L    $00120012,$00120012,$00100010,$00100010,$0010000E
  482.     DC.L    $000E000E,$000E000E,$000C000C,$000C000C,$000C000C
  483.     DC.L    $000A000A,$000A000A,$000A000A,$00080008,$00080008
  484.     DC.L    $00080008,$00060006,$00060006,$00060006,$00060004
  485.     DC.L    $00040004,$00040004,$00040004,$00040002,$00020002
  486.     DC.L    $00020002,$00020002,$00020002,$00020002,$00000000
  487.     DC.L    $00000000,$00000000,$00000000,$00000000,$00000000
  488.     DC.L    $00000000,$00000000,$00000000,$00000000,$00000000
  489.     DC.L    $00000000,$00000000,$00000000,$00000000,$00000000
  490.     DC.L    $00000000,$00000000,$00000000,$00000000,$00000000
  491.     DC.L    $00000000,$00000002,$00020002,$00020002,$00020002
  492.     DC.L    $00020002,$00020002,$00040004,$00040004,$00040004
  493.     DC.L    $00040004,$00060006,$00060006,$00060006,$00060008
  494.     DC.L    $00080008,$00080008,$0008000A,$000A000A,$000A000A
  495.     DC.L    $000A000C,$000C000C,$000C000C,$000C000E,$000E000E
  496.     DC.L    $000E000E,$00100010,$00100010,$00100012,$00120012
  497.  
  498. ball_dat:    ;15x15 ball, 2 planes, raw-blit
  499.     dc.l    $07c007c0,$14f01cf0,$12382e38
  500.     dc.l    $7a2c463c,$12346e3c,$c432fc3e,$b822b83e,$806a8076
  501.     dc.l    $806a8076,$c3cec3f6,$5f147fec,$606c7f9c,$33983c78
  502.     dc.l    $1c701ff0,$07c007c0
  503.  
  504. ball_mask:    ;maske des balls (farbe 0 mitverwendet)
  505.     dc.l    $07c007c0,$1ff01ff0,$3ff83ff8,$7ffc7ffc,$7ffc7ffc
  506.     dc.l    $fffefffe,$fffefffe,$fffefffe,$fffefffe,$fffefffe
  507.     dc.l    $7ffc7ffc,$7ffc7ffc,$3ff83ff8,$1ff01ff0,$07c007c0
  508.  
  509. End:
  510.